package jacky.lanlan.song.aop;

import java.lang.reflect.Method;

/**
 * 对方法实施Advice。
 * 
 * @author Jacky.Song
 */
interface AdviceHandler{
	/**
	 * 对对象方法实施advice。
	 * 
	 * @param bean
	 *          目标对象
	 * @param classMethod
	 *          目标方法
	 * @param args
	 *          方法参数
	 * @return 方法被调用后的返回值
	 * @throws Throwable
	 *           如果在实施advice的时候出错
	 */
	Object adviseMethod(Object bean,Method classMethod,Object... args) throws Throwable;
}